﻿namespace PortableRiotGames.Fluent.Game
{
    using PortableRiotGames.Interfaces.League;
    using System;
    using System.ComponentModel;

    public class LeagueBuilderHandler
    {
        /// <summary>
        /// Retrieves leagues data for summoner, including leagues for all of summoner's teams.
        /// </summary>
        /// <param name="summonerID">ID of the summoner for which to retrieve leagues.</param>
        /// <returns></returns>
        public RiotGamesGenericBuilder<GetLeaguesRequest, GetLeaguesResponse> GetLeagues(long summonerID)
        {
            return new RiotGamesGenericBuilder<GetLeaguesRequest, GetLeaguesResponse>(new GetLeaguesRequest(RiotGamesWebAPI.DeveloperKey) { SummonerID = summonerID });
        }

        #region Hidden

        [EditorBrowsable(EditorBrowsableState.Never)]
        public override bool Equals(object obj)
        {
            return base.Equals(obj);
        }

        [EditorBrowsable(EditorBrowsableState.Never)]
        public override int GetHashCode()
        {
            return base.GetHashCode();
        }

        [EditorBrowsable(EditorBrowsableState.Never)]
        public new Type GetType()
        {
            return this.GetType();
        }

        [EditorBrowsable(EditorBrowsableState.Never)]
        public override string ToString()
        {
            return base.ToString();
        }

        #endregion Hidden
    }
}
